<?php
namespace app\index\controller;
use think\Request;
use think\Db;
use  think\Controller;

class Index extends Controller
{
    /*thinkphp5基础笔记*/
    public function index()
    {     
        // return "hello wordl";
        // 请求
        // $request = Request::instance();
        // 助手函数
        // $request = request();
        // 获取URL信息
        // echo "当前模块".$request->module()."<br>";
        // echo "当前控制器".$request->controller()."<br>";
        // echo "当前方法".$request->action()."<br>";
        // echo "访问地址".$request->ip();
    	// 输入变量
    	// 变量获取的方法包括
    	// param,get,post,put,request,server
    	// 获取param变量 
    	// $res = Request::instance()->param();
    	// $res = $request->param('name');
    	
    	// 助手函数
    	// $res = input();
    	// $res = input('pwd');

    	
    	// 获取GET变量
    	// $res = Request::instance()->get();
    	// $res = Request::instance()->get('pwd');
    	// 助手函数
    	// $res = input();   //如果后面没有字段，代表获取全部
    	// $res = input('get.id');
    	// 获取SERVER变量
    	// $res = input('server.PHP_SELF');
    	// $res = input('server.');
    	// dump($res);
    	// 变量过滤
    	// $res = $request->get('name','','htmlspecialchars');
    	// $res = $request->get('name','','strip_tags');
    	// $res = $request->input('name','','trim');
    	// 变量修饰符
    	// $res = input("get.id");
    	// 修饰符      			作用
    	//   s                强制转换为字符串型
    	//   d                强制转换为整形类型
    	//   b                强制转换为布尔类型
    	//   a                强制转换为数组类型
    	//   f                强制转换为浮点类型
    	// dump($res);
    	
        // 获取请求类型
        // if(request()->isGet()){
        	// 判断是否是GET过来的请求
        // }
 		// 其他类型请求
 		// isAjax   isPost
 		
 		return $this->fetch();
    }


    public function db(){
    	// 数据库
    	// 执行读操作
    	// $res = Db::query("select * from user where id = ?",[1]);   
    	// 执行写操作
    	// $res = Db::execute("insert into user (`id`,`username`,`password`) values (?,?)",['','juran','thinkphp5']); 
    	// 查询构造器
    	// 插入记录
    	// $data = array('username'=>'tp5');
    	// $res = Db::table('user')->insert($data);
    	// 更新记录
    	// $data = array('username'=>'juran');
    	// $res = Db::table('user')->where('id',71)->update($data);
    	// 查询数据
    	// $res = Db::table('user')->where('id',71)->select();
    	// $res = Db::table('user')->where('id',71)->find();
    	// 删除数据
    	// $res = Db::table('user')->where('id',71)->fetchSql(false)->delete();  
    	// fetchSql  如果传入true的话  会打印当前SQL语句，但是不会执行
    	// $res = Db::name('user')->where('id',71)->select();   如果指定了表前缀
    	
    	// 助手函数
    	$db = db('user');
    	// 插入数据
    	// $res = $db->insert($data);
    	// 添加多条数据
    	// $data = [
    	// 	['username'=>1,'password'=>'1'],
    	// 	['username'=>2,'password'=>'2'],
    	// 	['username'=>3,'password'=>'3']
    	// ];
    	// $res = $db->insertAll($data);
    	// 查询指定字段
    	// $res = $db->where('id',1)->field('username')->select();
    	// $res = $db->where('id',1)->field('username')->fetchSql(true)->find();
    	// 模糊查询
    	// $res = $db->where('username','like','%j%')->select();
    	// 范围查询
    	// $res = $db->where('id','between',[70,77])->select();   包括70和77
    	// 自增自减
    	// $res = $db->where('id',1)->setInc('salt');
    	// $res = $db->where('id',1)->setDec('salt');
    	// order,limit
    	// $res = $db->field('username','id')->order('id desc')->limit(5)->select();
    	// 分页
    	// $page = input('get.page/d');
    	// $res = $db->page("$page",5)->select();
    	dump($res);
    }


    // 视图
    public function view(){
        // fetch         渲染模板输出
        // assign        模板变量赋值
        $name = "juran";
        $this->assign('name',$name);
        echo dirname($_SERVER['SCRIPT_NAME']);
        // return $this->fetch('Goods/index');    跨控制器访问模板
        // return $this->fetch('index');          同一控制器下访问其他模板
        // 助手函数
        return view();
    }

    // 模板标签
    public function temp(){

    }
}
